package cn.iocoder.yudao.module.wms.dal.mysql.index;

import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.wms.controller.admin.index.vo.BaseDataVO;
import cn.iocoder.yudao.module.wms.dal.dataobject.batch.BatchDO;
import cn.iocoder.yudao.module.wms.dal.dataobject.index.IndexDO;
import lombok.Data;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;

@Mapper
public interface IndexMapper extends BaseMapperX<IndexDO> {
    List<BaseDataVO> getStock();
    BaseDataVO getPomain();
    BaseDataVO getRdrecord01();
    BaseDataVO getRdrecord06();
    BaseDataVO getRdrecord07();
    BaseDataVO getRdrecord08();
    BaseDataVO getRdrecord09();
    BaseDataVO getRdrecord10();
    BaseDataVO getRdrecord11();
    BaseDataVO getRdrecord32();
    BaseDataVO getSaleOrder();
    BaseDataVO getProductionOrder();

    int getPomainMonth(@Param("minTime") LocalDate minTime, @Param("maxTime")LocalDate maxTime, @Param("statusType")String statusType);
    int getRdrecord01Month(@Param("minTime")LocalDate minTime,@Param("maxTime")LocalDate maxTime,@Param("statusType")String statusType);
    int getRdrecord06Month(@Param("minTime")LocalDate minTime,@Param("maxTime")LocalDate maxTime,@Param("statusType")String statusType);
    int getRdrecord07Month(@Param("minTime")LocalDate minTime,@Param("maxTime")LocalDate maxTime,@Param("statusType")String statusType);
    int getRdrecord08Month(@Param("minTime")LocalDate minTime,@Param("maxTime")LocalDate maxTime,@Param("statusType")String statusType);
    int getRdrecord09Month(@Param("minTime")LocalDate minTime,@Param("maxTime")LocalDate maxTime,@Param("statusType")String statusType);
    int getRdrecord10Month(@Param("minTime")LocalDate minTime,@Param("maxTime")LocalDate maxTime,@Param("statusType")String statusType);
    int getRdrecord11Month(@Param("minTime")LocalDate minTime,@Param("maxTime")LocalDate maxTime,@Param("statusType")String statusType);
    int getRdrecord32Month(@Param("minTime")LocalDate minTime,@Param("maxTime")LocalDate maxTime,@Param("statusType")String statusType);
    int getSaleOrderMonth(@Param("minTime")LocalDate minTime,@Param("maxTime")LocalDate maxTime,@Param("statusType")String statusType);
    int getProductionOrderMonth(@Param("minTime")LocalDate minTime,@Param("maxTime")LocalDate maxTime,@Param("statusType")String statusType);


    int getPomainByCreator(@Param("creator") Long creator, @Param("statusType")String statusType);
    int getRdrecord01ByCreator(@Param("creator") Long creator, @Param("statusType")String statusType);
    int getRdrecord06ByCreator(@Param("creator") Long creator, @Param("statusType")String statusType);
    int getRdrecord07ByCreator(@Param("creator") Long creator, @Param("statusType")String statusType);
    int getRdrecord08ByCreator(@Param("creator") Long creator, @Param("statusType")String statusType);
    int getRdrecord09ByCreator(@Param("creator") Long creator, @Param("statusType")String statusType);
    int getRdrecord10ByCreator(@Param("creator") Long creator, @Param("statusType")String statusType);
    int getRdrecord11ByCreator(@Param("creator") Long creator, @Param("statusType")String statusType);
    int getRdrecord32ByCreator(@Param("creator") Long creator, @Param("statusType")String statusType);
    int getSaleOrderByCreator(@Param("creator") Long creator, @Param("statusType")String statusType);
    int getProductionOrderByCreator(@Param("creator") Long creator, @Param("statusType")String statusType);


}
